Contentful API
JS library
コンテンツの取得や作成、その他の設定を行うためのAPI
Images API
Contentfulにアップロードしたイメージの取得用
画像のサイズ変更やWebP等への変換に対応している
GraphQL Content API
GraphQL
Domain Model
User
Contentfulのaccountを持っている人
Organizations
Spaces
Organizationsの子
HP用、サービス用みたいなprojectごとのやつかなmrsekut.icon
Environments
Content
EntityのCollection
Content Model
Media
Locales
用語がわからん
Content
EntityのCollection
Content TypeのCollection
Media
AsssetのCollection
Locales
Content Typeが型なら、Entryはその実体
画像などのbinary files
Contentの雛形
型定義みたいなやつ
例えば、記事の型とか、キーワードの型とか
Content Typeに含まれる各項目のことをFieldと言う(?)
ContentType
code:ts
export interface ContentType {
sys: Sys;
name: string;
description: string;
displayField: string;
fields: Array<Field>;
toPlainObject(): object;
}
Entry
code:ts
export interface Entry<T> {
sys: Sys;
fields: T;
metadata: Metadata;
toPlainObject(): object;
update(): Promise<Entry<T>>;
}
Sys
基本情報的な
code:ts
export interface Sys {
type: string;
id: string;
createdAt: string;
updatedAt: string;
locale: string;
revision?: number;
space?: {
sys: SpaceLink;
};
environment?: {
sys: EnvironmentLink;
};
contentType: {
sys: ContentTypeLink;
};
}
Field
ContentTypeに含まれる1つ1つのfield
1つのformのようなものをイメージするといい
code:ts
export interface Field {
disabled: boolean;
id: string;
linkType?: string;
localized: boolean;
name: string;
omitted: boolean;
required: boolean;
type: FieldType;
validations: FieldValidation[];
items?: FieldItem;
}
fieldsの型を自動生成してほしい
これか?
エンドポイントを指定すると、Draftなものもクライアントに表示することができるが、その際にrequiredを全て埋めているかを判定してfilterしたい
validationで指定するのかな?
そのModelがDraftなのかPublishedなのかを判定する
Preview APIでは無理らしい
API